home *** CD-ROM | disk | FTP | other *** search
- {$ifndef EXEC_SEMAPHORES_H}
- CONST EXEC_SEMAPHORES_H = 0;
- {$ifndef EXEC_NODES_H;incl"exec/nodes.h";endif}
- {$ifndef EXEC_LISTS_H;incl"exec/lists.h";endif}
- {$ifndef EXEC_PORTS_H;incl"exec/ports.h";endif}
- {$ifndef EXEC_TASKS_H;incl"exec/tasks.h";endif}
- TYPE p_Semaphore = ^Semaphore;
- Semaphore = record
- sm_MsgPort: MsgPort;
- sm_Bids: integer
- end;
- p_SemaphoreRequest = ^SemaphoreRequest;
- SemaphoreRequest = record
- sr_Link: MinNode;
- sr_Waiter: p_Task
- end;
- p_SignalSemaphore = ^SignalSemaphore;
- SignalSemaphore = record
- ss_Link: Node;
- ss_NestCount: integer;
- ss_WaitQueue: MinList;
- ss_MultipleLink: SemaphoreRequest;
- ss_Owner: p_Task;
- ss_QueueCount: Integer
- end;
- {$endif}
- {$ifndef EXEC_SEMAPHORES_LIB}
- Const EXEC_SEMAPHORES_LIB = 4711;
- Library SysBase:
- -540: Function Procure(a0,a1: Ptr): boolean;
- -546: Procedure Vacate(a0: Ptr);
- -558: Procedure InitSemaphore(a0: p_SignalSemaphore);
- -564: Procedure ObtainSemaphore(a0: p_SignalSemaphore);
- -570: Procedure ReleaseSemaphore(a0: p_SignalSemaphore);
- -576: Function AttemptSemaphore(a0: p_SignalSemaphore): integer;
- -582: Procedure ObtainSemaphoreList(a0: Ptr);
- -588: Procedure ReleaseSemaphoreList(a0: Ptr);
- -594: Function FindSemaphore(a1: stryng): p_SignalSemaphore;
- -600: Procedure AddSempahore(a1: p_SignalSemaphore);
- -606: Procedure RemSemaphore(a1: p_SignalSemaphore);
- end;
- {$endif}
-